package futbol.tacticas.concursantes.newTeam;


import java.awt.Point;
import java.awt.geom.*;
import java.util.ArrayList;

public class PelotaAnalista extends Point2D.Double
{
	public double angulo=0;
    public double velocidad=0;
    public int pelotaConPeligroDeGol = -1;
    private boolean haRebotado = false;
    
    
    public PelotaAnalista(Point2D p){
    	super(p.getX(),p.getY());
    }
    
	public PelotaAnalista(double x, double y, double velocidad, double angulo){
    	super(x,y);
    	this.velocidad = velocidad;
    	this.angulo=angulo;
    }
	
	public PelotaAnalista(double x1, double y1, double x2, double y2, double velocidad){
		super(x1,y1);
		
		double dy = y2-y1;
		double dx = x2-x1;
		
		this.angulo = Math.atan2(dy,dx);
		this.velocidad= velocidad;
	}
	
	public PelotaAnalista(Point2D miPelota, Point2D destino, double velocidad){
		super(miPelota.getX(),miPelota.getY());
		
		if(destino!=null){
			double dy = destino.getY()-miPelota.getY();
			double dx = destino.getX()-miPelota.getX();
			this.angulo = Math.atan2(dy,dx);
		}
		this.velocidad =  velocidad;
	}
	
	
    
    //GETTERS Y SETTERS
	public Point2D getPoint2D(){
		return new Point2D.Double(x,y);
	}
	
	
	public Point getPoint(){
		return new Point((int)Math.round(x),(int)Math.round(y));
	}
	
	public void posicionDeSaque(){
		x=y=angulo=velocidad=0;
	}
	
	public PelotaAnalista getCopia(){
		PelotaAnalista copia = new PelotaAnalista(x,y,velocidad,angulo);
		copia.setHaRebotado(this.haRebotado);
		copia.setPelotaConPeligroDeGol(this.pelotaConPeligroDeGol);
		return copia;
	}
	
	public int isPelotaConPeligroDeGol() {
		return pelotaConPeligroDeGol;
	}
	
	
	public void setPelotaConPeligroDeGol(int pelotaConPeligroDeGol) {
		this.pelotaConPeligroDeGol = pelotaConPeligroDeGol;
	}
	
	public void  setHaRebotado(boolean haRebotado){
		this.haRebotado = haRebotado;
	}
	
	public boolean getHaRebotado(){
		return this.haRebotado;
	}
	

}
